<template>
  <header class="app-header">
    <div class="container">
      <h1 class="logo"><RouterLink to="/">小兔鲜</RouterLink></h1>
      <AppHeaderNav></AppHeaderNav>
      <div class="search">
        <i class="iconfont icon-search"></i>
        <input v-model="keyword" type="text" @keyup.enter="search" placeholder="搜一搜" />
      </div>
      <!-- 购物车 -->
      <AppHeaderCart></AppHeaderCart>
    </div>
  </header>
</template>

<script>
import AppHeaderCart from './app-header-cart.vue'
import AppHeaderNav from '@/components/app-header-nav.vue'
import { ref } from 'vue'
import { useRouter } from 'vue-router'
export default {
  name: 'AppHeader',
  components: { AppHeaderNav, AppHeaderCart },
  // 搜索模块需要做的事
  // 1.双向绑定输入框
  // 2.绑定按键enter事件
  // 3.跳转搜索地址，携带搜索关键字
  // 4.清空输入框，失去焦点
  setup() {
    const keyword = ref('')
    // 这里的router等价于this.$router
    const router = useRouter()
    const search = e => {
      // 判断是否输入关键字
      // 实际开发需要判断是否输入关键字，但是现在数据少，允许不输入内容也可以跳转
      router.push(`/search?keyword=${keyword.value}`)
      // 跳转完成后失去清空数据
      keyword.value = ''
      // 通过dom的blur函数失去焦点
      e.target.blur()
      // console.log('enter')
      // 按下enter键后实现跳转，使用编程导航
    }
    return { keyword, search }
  }
}
</script>

<style scoped lang="less">
.app-header {
  background: #fff;
  .container {
    display: flex;
    align-items: center;
  }
  .logo {
    width: 200px;
    a {
      display: block;
      height: 132px;
      width: 100%;
      text-indent: -9999px;
      background: url(../assets/logo.png) no-repeat center 18px / contain;
    }
  }

  .search {
    width: 170px;
    height: 32px;
    position: relative;
    border-bottom: 1px solid #e7e7e7;
    line-height: 32px;
    .icon-search {
      font-size: 18px;
      margin-left: 5px;
    }
    input {
      width: 140px;
      padding-left: 5px;
      color: #666;
    }
  }
}
</style>
